package creational;

/**
 * 单例模式（Singleton）保证一个类只允许被实例化一次。
 * 可以通过构造函数私有，保证不允许从外部实例化
 * 并通过全局公开访问点（一般是静态方法）从类内部实例化。
 */
public class Singleton {
    public static void main(String[] args) {
        
    }
    private Singleton(){}//私有构造方法
    private static Singleton ins = null;
    private static Object abc = new Object();

    public static Singleton getIns(){
        if (ins==null){
            synchronized (abc){
                if (ins==null) {
                    ins = new Singleton();
                }
            }
        }
        return ins;
    }
}
